home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / tclMotif-1.4 / programs / prog75 < prev    next >
Text File  |  1995-06-29  |  1KB  |  51 lines

  1.  
  2. proc listSelectedItems {} {
  3.   .form.list getValues \
  4.     -selectedItems i -selectedItemCount n
  5.   return "$n $i"
  6. }
  7.  
  8. proc indexToY {w n} {
  9.   # calculate the Y co-ord for an index in the list
  10.   $w getValues \
  11.     -height h -itemCount count \
  12.     -visibleItemCount vis
  13.  
  14.   set y [expr {(2*$n - 1) * $h / (2*$count)}]
  15.   return $y
  16. }
  17.  
  18.  
  19. proc buttonPress {w n} {
  20.   # simulate a button press
  21.   return [$w callActionProc ListBeginSelect() \
  22.                 -type ButtonPress \
  23.                 -x 0 -y [indexToY $w $n]]
  24. }
  25.  
  26. proc buttonRelease {w n} {
  27.   # simulate a button release
  28.   return [$w callActionProc ListEndSelect() \
  29.                 -type ButtonRelease \
  30.                 -x 0 -y [indexToY $w $n]]
  31. }
  32.  
  33. xtAppInitialize
  34.  
  35. xmRowColumn .form managed
  36.  
  37. xmList .form.list2 managed \
  38.     -items "a b c d" -itemCount 4 \
  39.     -visibleItemCount 4
  40.  
  41.     .form.list2 setValues  -selectionPolicy multiple_select  -selectedItems ""  -selectedItemCount 0
  42.     buttonPress .form.list2 2
  43.     buttonRelease .form.list2 2
  44.     buttonPress .form.list2 3
  45.     set ans [buttonRelease .form.list2 3]
  46.     puts stdout "selected: $ans"
  47.  
  48. . realizeWidget
  49.  
  50. . mainLoop
  51.